查看原文
其他

文末送算力 | 工具推荐: 专为 GPU 打造的高性能轮子

神经小姐姐 超神经HyperAI 2019-05-13

By 超神经


GPU 和数据库各有所长,GPU 擅长处理机器学习等任务,而数据库擅长有特定要求的计算,比如复杂的连接计算。


目前有一些提供 GPU 加速的数据库解决方案产品,其中有大家熟悉的 MapD、Kinetica,我们今天要介绍是一款年轻的开源产品 BlazingSQL。



BlazingSQL 是基于 RAPIDS 构建的基于 GPU 加速的数据库查询工具,BlazingSQL 扩展了 RAPIDS 并使用户能够在 GPU 内存中的 Apache Arrow上直接运行 SQL 查询。


除了对 GPU 的适配程度和速度,远远快于其他同类产品之外,大多数 SQL 数据仓库需要企业自行提取和复制数据,而 BlazingDB 可以直接从 Apache Parquet 中读取数据,这样简化了数据渠道架构,同时也能够支持高性能负载。


更重要的是,BlazingSQL 还获得了NVIDIA 、三星的投资,还和 NVIDIA 保持了非常好的合作关系。


性能评测


想要对比工具之间的性能,得对比的 bechmark 测试,先运行一个端到端的分析工作负载。


* 步骤是:数据湖 >  FTL 特征工程 >  XGBoost 训练


* 我们在 GCP 上构建了两个价格相当的集群,分别使用 Apache Spark 和 BlazingSQL。



*最后的结果是 BlazingSQL 运行的速度要比 Apache Spark 快了 5 倍。


*在同样的工作负载下,新版本的运行速度比 Apache Spark 快了 20 倍。



 好马配好鞍


之所以 Blazing SQL 能得到高效的运行结果,也是因为奢侈地采用的是 GCP 的 T4 GPU,这是一种新的入门级 GPU ,虽然价格便宜但性能很强。


使用新的T4 GPU 将我们的成本降低了一半,为了保持价格一致,将 Apache Spark 集群减少到 4 个 CPU 节点。



但最后的结果是,即使 GPU 内存减半,整个工作量也会明显加快。


Blazing SQL 的工程师还开发了一种专为 GPU DataFrames(GDF)构建的GPU执行内核,它被称为「 SIMD 表达式解释器」。


要描述 SIMD 表达解释器需要很大的篇幅,在这里只简单的分享一些细节,关于它是如何工作的,以及为什么会产生这样的性能提升。


SIMD 表达式解释器的性能提升主要是通过这几个关键步骤:


1. 机器支持多个输入。这些输入可以是 GDF 列、文字、函数。


2. 当加载这些输入时, SIMD 表达解释器优化了 GPU 上寄存器的分配,这提升了 GPU 的占用率,并最终提升了性能。


3. 此外,虚拟机处理这些输入并同时生成多个输出。例如,假设有以下SQL查询: SELECT colA + colB * 10, sin(colA) — cos(colD) FROM tableA


也正是这些努力,才使得 BlazingSQL 在效率上有了这么大的提高。


GPU 算力免费送 

 

元宵节快乐! 

神经小姐姐送上元宵节的算力福利! 

 

我们的合作厂商正在进行机器学习公有云的内测活动

目前开放 50 个内测名额,其中包含 CPU、GPU(NVIDIA T4)的使用时长! 

 

添加神经小姐姐的微信(免验证),即可获得注册邀请码 


超神经小百科


相似度度量 Similarity Measure


似度度量是估算不同样本之间的相似程度的,常用做分类问题的判断标准。


在机器学习和数据挖掘中,需要知道个体间差异的大小,进而评价个体的相似性和类别。


常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻和 K 均值等等。


根据数据特性的不同,可以采用不同的度量方法。


历史文章(点击图片阅读)

普通工程师在开源项目前,需要考虑什么?

GANs 千万条,安全第一条

帮助你写 Python,只是 AI 取代程序员的第一步

AI 百科

教程

数据集

商店

更多

http://hyper.ai


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存